'PROGRAM: CCHRC1 Upstairs 2006_08_18.CR1 'MODIFICATION OF: CCHRC1 Upstairs 2006_08_18.CR1 'MODIFIED BY: M. R. Lilly 'DATE MODIFIED: 18 August 2006 'MODIFICATIOINS: Changed the reading of the GWS thermistors in the multiplexer sub ' scan loop to correct the three BrHalf statements with I=I+1 ' inbetween each 'DATE DOWNLOADED: 'MODIFICATION OF: CCHRC1 Upstairs 2006_05_20.CR1 'MODIFIED BY: R.F. PAETZOLD 'DATE MODIFIED: 1 June 2006 'MODIFICATIOINS: Changed the reading of the GWS thermistors in the multiplexer sub ' scan loop from one BrHalf statement to three BrHalf statements ' with I=I+1 inbetween each and the I=I+3 incremental increase was ' eliminated. 'DATE DOWNLOADED: 'MODIFICATION OF: CCHRC1 Upstairs 2006_05_03.CR1 'MODIFIED BY: R.F. PAETZOLD 'DATE MODIFIED: 20 May 2006 'MODIFICATIOINS: Changed multiplier from 0.001 to 1000 to convert kOHM to OHM for BSI ' thermistor temperature calculation ' Added 0.001 multiplier to convert BSI_RH_mV from mV to V for BSI RH ' calculation ' Changed MeasPEx from 1 to 3 so all YSI thermistors in AM16/32 ' measurement loop will be excited by Ex1 'DATE DOWNLOADED: 'ORIGINAL PROGRAM: CCHRC1 Upstairs 2006_05_03.CR1 'WRITTEN BY: R.F. PAETZOLD 'DATE WRITTEN 3 May 2006 'DATE DOWNLOADED: 'STATION: CCHRC #1 Upstairs 'STATION ID: 21 'ARRAY ID: 'DATALOGGER ID: 'NOTES: USE 60Hz FILTER FOR MEASUREMENTS WHERE POSSIBLE TO MINIMIZE INTERFERENCE FROM ' BUILDING ELECTRICAL COMPONENTS. ' ''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' WIRING SCHEMATIC '' '' '' ''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''' 'INPUT CHANNEL USAGE: 'CR1000 SENSOR 'SE1 (1H) AM16/32 #1 COM ODD H (BLUE) 'SE1 (1H) --- 1-kOHM RESISTOR --- CR1000 EX1 'SE2 (1L) AM16/32 #1 COM ODD L (ORANGE) 'SE2 (1L) --- 1-kOHM RESISTOR --- CR1000 EX1 'SE3 (2H) AM16/32 #1 COM EVEN H (YELLOW) 'SE3 (2H) --- 1-kOHM RESISTOR --- CR1000 EX1 'SE4 (2L) 'SE5 (3H) 'SE6 (3L) 'SE7 (4H) 'SE8 (4L) 'SE9 (5H) 'SE10 (5L) 'SE11 (6H) 'SE12 (6L) 'SE13 (7H) BSI TEMPERATURE CCHRHT801 (YELLOW/WHITE) 'SE13 (7H) --- 1-kOHM RESISTOR --- EX2 'SE14 (7L) BSI RH CCHRHT801 (BLUE) 'SE15 (8H) BSI TEMPERATURE CCHRHT800 (YELLOW/WHITE) 'SE15 (7H) --- 1-kOHM RESISTOR --- EX2 'SE16 (8L) BSI RH CCHRHT800 (BLUE) 'POWER & GROUND USAGE: 'SW12 '12V AM16/32 #1 12V (RED) '12V '5V BSI RH CCHRHT800 (GREEN/WHITE) '5V BSI RH CCHRHT801 (GREEN/WHITE) 'AG AM16/32 #1 COM EVEN L (VIOLET) 'AG BSI TEMPERATURE CCHRHT800L (YELLOW) 'AG BSI TEMPERATURE CCHRHT801 (YELLOW) 'AG BSI RH CCHRHT800 (GREEN) 'AG BSI RH CCHRHT801 (GREEN) 'AG 'AG 'AG 'G AM16/32#1 GND (BLACK) 'G 'G 'G 'G 'G 'G 'G 'G 'G 'EXCITATION CHANNEL USAGE: 'E1 --- 1-kOHM RESISTOR --- CR1000 SE1 'E1 --- 1-kOHM RESISTOR --- CR1000 SE2 'E1 --- 1-kOHM RESISTOR --- CR1000 SE3 'E2 --- 1-kOHM RESISTOR --- CR1000 SE13 'E2 --- 1-kOHM RESISTOR --- CR1000 SE15 'E3 'CONTROL PORT USAGE: 'C1 AM16/32#1 RES (GREEN) 'C2 AM16/32#1 CLK (WHITE) 'C3 'C4 'C5 'C6 'C7 'C8 'PULSE INPUT CHANNEL USAGE: 'P1 'P2 ''''''''''''''''''''''''''''''''''''''''''''''''' ' ' ' MULTIPLEXERS ' ' ' ''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''' AM16/32#1 ''''''''''''''''''''''''''''''''' 'AM16/32#1 CR1000 'COM ODD H SE1 (BLUE) 'COM ODD L SE2 (ORANGE) 'COM GROUND 'COM EVEN H SE3 (YELLOW) 'COM EVEN L AG (VIOLET) '12V 12V (RED) 'GND G (BLACK) 'RES C1 (GREEN) 'CLK C2 (WHITE) 'AM16/32#1 SENSOR 'H1 GWS T CCHTH200_1 (RED/green) 'L1 GWS T CCHTH200_2 (BLACK/white) 'AG 'H2 GWS T CCHTH200_3 (BLUE/orange) 'L2 GWS T CCHTH200_1 (red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H3 GWS T CCHTH201_1 (RED/green) 'L3 GWS T CCHTH201_2 (BLACK/white) 'AG 'H4 GWS T CCHTH201_3 (BLUE/orange) 'L4 GWS T CCHTH201_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H5 GWS T CCHTH202_1 (RED/green) 'L5 GWS T CCHTH202_2 (BLACK/white) 'AG 'H6 GWS T CCHTH202_3 (BLUE/orange) 'L6 GWS T CCHTH202_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H7 GWS T CCHTH203_1 (RED/green) 'L7 GWS T CCHTH203_2 (BLACK/white) 'AG 'H8 GWS T CCHTH203_3 (BLUE/orange) 'L8 GWS T CCHTH203_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H9 GWS T CCHTH204_1 (RED/green) 'L9 GWS T CCHTH204_2 (BLACK/white) 'AG 'H10 GWS T CCHTH204_3 (BLUE/orange) 'L10 GWS T CCHTH204_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H11 GWS T CCHTH205_1 (RED/green) 'L11 GWS T CCHTH205_2 (BLACK/white) 'AG 'H12 GWS T CCHTH205_3 (BLUE/orange) 'L12 GWS T CCHTH205_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H13 GWS T CCHTH206_1 (RED/green) 'L13 GWS T CCHTH206_2 (BLACK/white) 'AG 'H14 GWS T CCHTH206_3 (BLUE/orange) 'L14 GWS T CCHTH206_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H15 GWS T CCHTH207_1 (RED/green) 'L15 GWS T CCHTH207_2 (BLACK/white) 'AG 'H16 GWS T CCHTH207_3 (BLUE/orange) 'L16 GWS T CCHTH207_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H17 GWS T CCHTH208_1 (RED/green) 'L17 GWS T CCHTH208_2 (BLACK/white) 'AG 'H18 GWS T CCHTH208_3 (BLUE/orange) 'L18 GWS T CCHTH208_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H19 GWS T CCHTH209_1 (RED/green) 'L19 GWS T CCHTH209_2 (BLACK/white) 'AG 'H20 GWS T CCHTH209_2 (BLUE/orange) 'L20 GWS T CCHTH209_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H21 GWS T CCHTH210_1 (RED/green) 'L21 GWS T CCHTH210_2 (BLACK/white) 'AG 'H22 GWS T CCHTH210_3 (BLUE/orange) 'L22 GWS T CCHTH210_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H23 GWS T CCHTH211_1 (RED/green) 'L23 GWS T CCHTH211_2 (BLACK/white) 'AG 'H24 GWS T CCHTH211_3 (BLUE/orange) 'L24 GWS T CCHTH211_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H25 GWS T CCHTH212_1 (RED/green) 'L25 GWS T CCHTH212_2 (BLACK/white) 'AG 'H26 GWS T CCHTH212_3 (BLUE/orange) 'L26 GWS T CCHTH212_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H27 GWS T CCHTH213_1 (RED/green) 'L27 GWS T CCHTH213_2 (BLACK/white) 'AG 'H28 GWS T CCHTH213_3 (BLUE/orange) 'L28 GWS T CCHTH213_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H29 GWS T CCHTH214_1 (RED/green) 'L29 GWS T CCHTH214_2 (BLACK/white) 'AG 'H30 GWS T CCHTH214_3 (BLUE/orange) 'L30 GWS T CCHTH214_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG 'H31 GWS T CCHTH215_1 (RED/green) 'L31 GWS T CCHTH215_2 (BLACK/white) 'AG 'H32 GWS T CCHTH215_3 (BLUE/orange) 'L32 GWS T CCHTH215_1(red/GREEN), _2 (black/WHITE), _3 (blue/ORANGE) 'AG ''''''''''''''''''''''''''''''''''''''''''''''''' ' ' ' DATALOGGER OUTPUT ' ' ' ''''''''''''''''''''''''''''''''''''''''''''''''' 'HOURLY OUTPUT 'HOURLY DIAGONOSTICS TABLE 'Station ID 'Average Battery Voltage (V) 'Average Panel Temperature (deg C) 'HOURLY RAW MEASUREMENTS TABLE 'Station ID ' Average 48 GWS Thermistors - CCHTH200_1 through CCHTH215_3 (kOHM) ' Average 2 BSI Thermistors - CCHRHT800 & CCHRH801(kOHM) ' Average 2 BSI RH SENSORS - CCHRHT800 & CCHRH801 (mV) 'HOURLY MEASUREMENTS TABLE 'Station ID ' Average 48 GWS Thermistors - CCHTH200_1 through CCHTH215_3 (deg C) ' Average 2 BSI Thermistors - CCHRHT800 & CCHRH801(deg C) ' Average 2 BSI RH SENSORS - CCHRHT800 & CCHRH801 (%) 'DAILY OUTPUT 'DAILY OUTPUT TABLE 'DAILY MEASUREMENTS TABLE 'Station ID ' Maximum 48 GWS Thermistors - CCHTH200_1 through CCHTH215_3 (deg C) ' Average 48 GWS Thermistors - CCHTH200_1 through CCHTH215_3 (deg C) ' Minimum 48 GWS Thermistors - CCHTH200_1 through CCHTH215_3 (deg C) ' Maximum 2 BSI Thermistors - CCHRHT800 & CCHRH801(deg C) ' Average 2 BSI Thermistors - CCHRHT800 & CCHRH801(deg C) ' Minimum 2 BSI Thermistors - CCHRHT800 & CCHRH801(deg C) ' Maximum 2 BSI RH SENSORS - CCHRHT800 & CCHRH801 (%) ' Average 2 BSI RH SENSORS - CCHRHT800 & CCHRH801 (%) ' Minimum 2 BSI RH SENSORS - CCHRHT800 & CCHRH801 (%) ''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' DECLARATIONS & DEFINITIONS '' '' '' ''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''' ' Set Station Name as: CCHRC_1 Upstairs StationName (CCHRC_1) 'DECLARE CONSTANTS 'STATION ID Const ID = 21 'INSERT STATION ID HERE <---------- 'FIXED RESISTOR VALUE FOR GWS THERMISTOR CIRCUITS Rf_1 Const Rf_1=1.0 'INSERT FIXED RESISTOR #1 VALUE (kOHM) HERE <---------- 'FIXED RESISTOR VALUE FOR BSI THERMISTOR CIRCUITS Rf_2 Const Rf_2=1.0 'INSERT FIXED RESISTOR #2 VALUE (kOHM) HERE <---------- 'FIXED RESISTOR VALUE FOR BSI MOISTURE CONTENT PIN CIRCUITS Rf_3 Const Rf_3=10.0 'INSERT FIXED RESISTOR #3 VALUE (kOHM) HERE <---------- 'STEINHART & HART EQUATION CONSTANTS Const a = 0.0014654354 Const b = 0.0002386780 Const c = 0.0000001000 'DECLARE VARIABLES Dim I Dim therm(48) Dim D(48) Dim Station_ID 'DECLARE PUBLIC VARIABLES Public PTemp, batt_volt Public GWS_Therm_kOHM (48), GWS_T_deg_C (48) Public BSI_Therm_kOHM (2), BSI_T_deg_C (2) Public BSI_RH_mV (2), BSI_RH (2) ''''' DEFINE DATA TABLES ''''' 'HOURLY DIAGNOSTICS TABLE DataTable (HrlyDiag,1,-1) DataInterval (0,60,Min,0) Sample (1,Station_ID,fp2) Average (1,batt_volt,FP2,False) Average (1,PTemp,FP2,False) EndTable 'HOURLY RAW MEASUREMENTS TABLE DataTable (HrlyRaw,1,-1) DataInterval (0,60,Min,0) Sample (1,Station_ID,fp2) Average (48,GWS_Therm_kOHM(),FP2,False) Average (2,BSI_Therm_kOHM(),FP2,False) Average (2,BSI_RH_mV,FP2,False) EndTable 'HOURLY MEASUREMENTS TABLE DataTable (HrlyMeas,1,-1) DataInterval (0,60,Min,0) Sample (1,Station_ID,fp2) Average (48,GWS_T_deg_C(),FP2,False) Average (2,BSI_T_deg_C(),FP2,False) Average (2,BSI_RH(),FP2,False) EndTable 'DAILY MEASUREMENTS TABLE DataTable (DalyMeas,1,-1) DataInterval (0,1440,Min,0) Sample (1,Station_ID,fp2) Maximum (48,GWS_T_deg_C(),FP2,False,False) Average (48,GWS_T_deg_C(),FP2,False) Minimum (48,GWS_T_deg_C(),FP2,False,False) Maximum (2,BSI_T_deg_C(),FP2,False,False) Average (2,BSI_T_deg_C(),FP2,False) Minimum (2,BSI_T_deg_C(),FP2,False,False) Maximum (2,BSI_RH(),FP2,False,False) Average (2,BSI_RH(),FP2,False) Minimum (2,BSI_RH(),FP2,False,False) EndTable ''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''' '' '' '' BEGIN MAIN PROGRAM '' '' '' ''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''' BeginProg Scan (1,Min,0,0) 'SCAN PROGRAM AT 1-Minute INTERVALS Station_ID = ID 'MEASURE UPSTAIRS, ATTIC ROOF SPACE TEMPERATURES WITH 2 BSI THERMISTORS 'MEASURE CCHRHT800 TEMPERATURE (Voltage Ratio X = Rs/(Rs+Rf)) BrHalf (therm(1),1,mV2500,15,Vx2,1,2500,True ,0,_60Hz,1.0,0) 'MEASURE CCHRHT801 TEMPERATURE (Voltage Ratio X = Rs/(Rs+Rf)) BrHalf (therm(2),1,mV2500,13,Vx2,1,2500,True ,0,_60Hz,1.0,0) '''' CONVERT MEASURED VOLTAGE RATIO TO RESISTANCE (kOHM) FOR 2 BSI THERMISTORS '''' For I=1 To 2 BSI_Therm_kOHM(I) = Rf_2*therm(I)/(1-therm(I)) Next I '''''''''' CONVERT BSI THERMISTOR RESISTANCE TO deg C '''''''''' For I=1 To 2 'CHANGED MULTIPLIER FROM 0.001 TO 1000 TO CONVERT kOHM TO OHM -- PAETZOLD 05/20/06 D(I) = LN (1000*BSI_Therm_kOHM(I)) BSI_T_deg_C(I) = -0.101*(D(I))^3 + 4.436*(D(I))^2 - 77.18*(D(I))+446.05 Next I 'MEASURE UPSTAIRS, ATTIC ROOF SPACE RELATIVE HUMIDITY WITH 2 BSI RH SENSORS 'MEASURE CCHRHT800 RH (mV) VoltSe (BSI_RH_mV(1),1,mV5000,16,1,0,_60Hz,1.0,0) 'MEASURE CCHRHT801 RH (mV) VoltSe (BSI_RH_mV(2),1,mV5000,14,1,0,_60Hz,1.0,0) '''''''''' CONVERT BSI RH SENSOR MEASUREMENT mV TO %RH '''''''''' For I=1 To 2 'ADDED 0.001 MULTIPLIER FOR BSI_RH_mV TO CONVERT TO VOLTS -- PAETZOLD 05/20/06 BSI_RH(I) = ((0.001*BSI_RH_mV(I))-0.958)/0.3068 Next I ''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' READ AM16/32 #1 '' '' '' ''''''''''''''''''''''''''''''''''''''''''''''''' 'READ 48 GWS THERMISTORS, CCHTH200_1 THROUGH CCHTH215_3 PortSet (1 ,1 ) 'TURN ON AM16/32 #1 MULTIPLEXER, SET PORT 1 HIGH I = 1 'INITIALIZE INDEX INTERGER I TO ONE -- Commented out PAETZOLD 06/01/06 'SCAN LOOP -- 16 ITERATIONS SubScan (0,Sec,16) PulsePort (2 ,10000) 'ADVANCE AM16/32 GROUP BY 1, PULSE PORT 2 'MEASURE GWS THERMISTORS, (Voltage Ratio X = Rs/(Rs+Rf)) 'CHANGED MeasPEx FROM 1 TO 3 SO ALL REPS ARE EXCITED WITH Ex1 -- PAETZOLD 05/20/06 'CHANGED FROM ONE BrHalf STATEMENT TO THREE WITH I=I+1 INBETWEEN -- PAETZOLD 06/01/06 BrHalf (therm(I),1,mV2500,1,Vx1,1,2500,True ,0,_60Hz,1.0,0) I = I + 1 BrHalf (therm(I),1,mV2500,2,Vx1,1,2500,True ,0,_60Hz,1.0,0) I = I + 1 BrHalf (therm(I),1,mV2500,3,Vx1,1,2500,True ,0,_60Hz,1.0,0) I = I + 1 NextSubScan PortSet (1 ,0 ) 'TURN OFF AM16/32 MULTIPLEXER, SET PORT 1 LOW '''' CONVERT MEASURED VOLTAGE RATIO TO RESISTANCE (kOHM) FOR 48 GWS THERMISTORS '''' For I=1 To 48 GWS_Therm_kOHM(I) = Rf_1*therm(I)/(1-therm(I)) Next I ''''' CONVERT GWS THERMISTOR RESISTANCE TO deg C FOR 48 GWS THERMISTORS ''''' For I=1 To 48 D(I) = LN (1000*GWS_Therm_kOHM(I)) 'ln resistance (ohm) GWS_T_deg_C(I) = (1/(a + b*D(I) + c*(D(I))^3)) - 273.15 'Steinhart & Hart Equation Next I ''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' DIAGNOSTICS '' '' '' ''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''' BEGIN 20-MIN MEASUREMENT LOOP ''''''''''''''''' If IfTime (0,20,Min) Then PanelTemp (PTemp,_60Hz) 'MEASURE DATALOGGER PANEL TEMPERATUE (deg C), 'WITH A 60Hz FILTER Battery (Batt_volt) 'MEASURE BATTERY VOLTAGE (V) EndIf 'END 20-MIN MEASUREMENT LOOP ''''''''''''''''''''''''''''''''''''''''''''''''' '' '' '' OUTPUT '' '' '' ''''''''''''''''''''''''''''''''''''''''''''''''' 'CALL OUTPUT TABLES CallTable HrlyDiag CallTable HrlyRaw CallTable HrlyMeas CallTable DalyMeas NextScan EndProg